package modelo;

import java.sql.Date;

import javax.persistence.EmbeddedId;
import javax.persistence.Entity;

import ViewObjects.ComparativaView;

@Entity
public class Comparativa {
	@EmbeddedId
	private ComparativaID id;
	private String paisOrigen;
	private String marca;
	private String caracteristicas;
	private float precioCalculado;
	private int stockDisp;
	private Date FechaVigenciaDesde;
	private Date FechaVigenciaHasta;

	public Comparativa(int idProveedor, int idLista, String codigoSFK,
			String codigoFabricante, String paisOrigen, String marca,
			String caracteristicas, float precioCalculado, int stockDisp,
			Date fechaVigenciaDesde, Date fechaVigenciaHasta) {
		super();
		id = new ComparativaID(idProveedor, idLista, codigoSFK,
				codigoFabricante);
		this.paisOrigen = paisOrigen;
		this.marca = marca;
		this.caracteristicas = caracteristicas;
		this.precioCalculado = precioCalculado;
		this.stockDisp = stockDisp;
		FechaVigenciaDesde = fechaVigenciaDesde;
		FechaVigenciaHasta = fechaVigenciaHasta;
	}

	public Comparativa() {
		super();
	}

	public void setIdComparativa(int idProveedor, int idLista,
			String codigoSFK, String codigoFabricante) {
		id = new ComparativaID(idProveedor, idLista, codigoSFK,
				codigoFabricante);
	}

	/**
	 * @return the idProveedor
	 */
	public int getIdProveedor() {
		return id.getIdProveedor();
	}

	/**
	 * @param idProveedor
	 *            the idProveedor to set
	 */
	public void setIdProveedor(int idProveedor) {
		this.id.setIdProveedor(idProveedor);
	}

	/**
	 * @return the idLista
	 */
	public int getIdLista() {
		return id.getIdLista();
	}

	/**
	 * @param idLista
	 *            the idLista to set
	 */
	public void setIdLista(int idLista) {
		this.id.setIdLista(idLista);
	}

	/**
	 * @return the precioPublicado
	 */
	public float getPrecioCalculado() {
		return precioCalculado;
	}

	/**
	 * @param precioPublicado
	 *            the precioPublicado to set
	 */
	public void setPrecioCalculado(float precioCalculado) {
		this.precioCalculado = precioCalculado;
	}

	/**
	 * @return the stockDisp
	 */
	public int getStockDisp() {
		return stockDisp;
	}

	/**
	 * @param stockDisp
	 *            the stockDisp to set
	 */
	public void setStockDisp(int stockDisp) {
		this.stockDisp = stockDisp;
	}

	public String getCodigoSFK() {
		// TODO Auto-generated method stub
		return id.getCodigoSFK();
	}

	public void setCodigoSFK(String codigoSFK) {
		// TODO Auto-generated method stub
		this.id.setCodigoSFK(codigoSFK);
	}

	public void setVigenciaDesde(Date fechaVigenciaDesde) {
		// TODO Auto-generated method stub
		this.FechaVigenciaDesde = fechaVigenciaDesde;

	}

	public void setVigenciaHasta(Date fechaVigenciaHasta) {
		// TODO Auto-generated method stub
		this.FechaVigenciaHasta = fechaVigenciaHasta;

	}

	public String getPaisOrigen() {
		return paisOrigen;
	}

	public void setPaisOrigen(String paisOrigen) {
		this.paisOrigen = paisOrigen;
	}

	public String getMarca() {
		return marca;
	}

	public void setMarca(String marca) {
		this.marca = marca;
	}

	public String getCaracteristicas() {
		return caracteristicas;
	}

	public void setCaracteristicas(String caracteristicas) {
		this.caracteristicas = caracteristicas;
	}

	public Date getFechaVigenciaDesde() {
		return FechaVigenciaDesde;
	}

	public void setFechaVigenciaDesde(Date fechaVigenciaDesde) {
		FechaVigenciaDesde = fechaVigenciaDesde;
	}

	public Date getFechaVigenciaHasta() {
		return FechaVigenciaHasta;
	}

	public void setFechaVigenciaHasta(Date fechaVigenciaHasta) {
		FechaVigenciaHasta = fechaVigenciaHasta;
	}

	public ComparativaView crearComparativa() {
		return new ComparativaView(id.getIdProveedor(), id.getIdLista(),
				id.getCodigoSFK(), id.getCodigoFabricante(), paisOrigen, marca,
				caracteristicas, precioCalculado, stockDisp,
				FechaVigenciaDesde, FechaVigenciaHasta);

	}

}
